1. Field
The disclosure relates to a method, a system, and a computer program product for ordering volumes and tracks for data transfer based on usage characteristics of the volumes and tracks.
2. Background
Information technology systems, including storage systems, may provide features for data migration, data backup, or data duplication. Implementations for data migration, data backup, and data duplication may include mirroring or copying of data that is stored in storage volumes of storage systems. Such mirroring or copying of data stored in storage volumes may involve interactions among servers, clients, storage systems and networking components of the information technology system.
A consistency group is a group of storage volumes that need to be kept in a consistent state with each other, wherein the storage volumes may also be referred to as volumes. To provide a non-limiting example, a first command copies volume A1 to B1 and a second command copies volume A2 to B2. It is required that volumes B1 and B2 should represent a consistent state of the dataset in volumes A1 and A2 at a certain point in time. In a certain sequence of operations on the volumes the following set of dependent write operations may occur (where the second operation occurs after the first operation):
1. Write to dataset on volume A1 (data updated)
2. Write to dataset on volume A2 (data updated).
When volumes A1 and A2 are copied to volumes B1 and B2 respectively, then the following non-limiting example of a sequence of operations may create an inconsistent state in volumes B1, B2 with respect to volumes A1, A2:
1. Copy volume A1 to volume B1
2. Write to dataset on volume A1 (data updated)
3. Write to dataset on volume A2 (data updated)
4. Copy volume A2 to volume B2.
At the conclusion of all the copy operations, i.e., the conclusion of the fourth operation, volume B2 contains the data update of volume A2 whereas volume B1 does not contain the data update of volume A1. The set of volumes B1, B2 are in an inconsistent state with respect to the set of volumes A1, A2. An application that uses the volumes B1, B2 could not recover from a back-up copy stored in the volumes B1, B2.
Quiescing, i.e., suspending the operation, of the write application that writes to the dataset before performing the copy operations may ensure consistency of the volumes being copied. In certain other implementations if a new write operation is requested while a consistency group is being formed then the new write operation is prevented from being executed until all the volumes are copied over.
In certain data replication mechanisms, volumes (e.g., volumes A1 and A2) are grouped into consistency groups. A consistency group is a group of volumes that are kept in a consistent state with each other. For example, volumes A1 and A2 may form a consistency group. A consistency group is then copied over to a remote location. For example, volumes A1 and A2 may be copied into volumes B1 and B2 respectively at the remote location. Each volume of the consistency group may comprise a plurality of tracks. If a write request arrives for a track that still needs to be copied to the remote location then a collision may occur and the track may have to be copied over before the write request is permitted to write to the track. Collisions affect system performance as the write operation is not allowed to complete until the track is copied to the remote site.